// 238. 除自身以外数组的乘积
//核心在于两个数组，一个从左往右，一个从右往左，然后相乘，得到结果
class Solution {
public:
    vector<int> productExceptSelf(vector<int>& nums) {
        int n=nums.size();
        if(n==0) return {};
        vector<int> ans(n,1);
        
        int tmp=1;
        for(int i=1;i<n;i++)
        {
            ans[i]=ans[i-1]*nums[i-1];
        }

        for(int i=n-2;i>=0;i--)
        {
            tmp*=nums[i+1];
            ans[i]*=tmp;
        }
        return ans;


    }
};